# Python GPIO开发 ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- 本文档说明 Quectel Pi M1/L1 上使用 Python 访问 GPIO 的基本流程。 # 环境确认 ```bash gpiodetect ls -l /dev/gpiochip* gpioinfo python3 --version ``` | **设备节点** | **说明** | | --- | --- | | /dev/gpiochip0 | 当前验证为主 GPIO 控制器,标签 400000.pinctrl | | /dev/gpiochip1 | 当前验证为 PMIC 相关 GPIO 控制器 | | /dev/gpiochip2 | 当前验证为 LPI 相关 GPIO 控制器 | # 安装依赖 建议先使用虚拟环境,再安装 Python GPIO 库。 ```bash sudo apt update sudo apt install -y gpiod python3-venv python3-pip python3 -m venv .venv source .venv/bin/activate pip install python-periphery ``` # 读取示例 示例使用 `/dev/gpiochip0` 的 line 36。实际开发前应根据 M1 引脚定义确认物理引脚与 line offset 的对应关系。 ```python from periphery import GPIO chip = "/dev/gpiochip0" line = 36 gpio = GPIO(chip, line, "in") try: print(gpio.read()) finally: gpio.close() ``` # 输出示例 ```python from periphery import GPIO import time chip = "/dev/gpiochip0" line = 36 gpio = GPIO(chip, line, "out") try: gpio.write(True) time.sleep(1) gpio.write(False) finally: gpio.close() ``` # 注意事项 - GPIO line offset 不等于物理排针编号,接线前必须确认 M1 引脚定义。 - 使用 `gpioinfo` 查看线路是否已被系统占用,带 `[used]` 的线路不建议直接抢占。 - 当前板端 gpiod 工具为 libgpiod v1.6.3,命令行验证请参考 GPIOD 使用说明。